A modified @go verb to be added to the $frand_class @go any,none,none r,d ======================= "Usage @go where"; "Modified @go command to use the personal rooms DB."; "KRJ Nov 4,2006"; if (dobjstr) destname = dobjstr; else if (length(args) < 1) return player:tell(tostr("Try this instead: ", verb, " ")); else destname = args[1]; endif endif "Check player room db first"; dest = this:lookup_room(destname); "if not in players room db go through the old @go code"; if (dest == $failed_match) numeric = toobj(destname); if (valid(numeric) && numeric != #0) dest = numeric; else if ($string_utils:find_prefix("The", {destname})) dest1 = destname; dest2 = destname[5..length(destname)]; else dest1 = "The " + destname; dest2 = destname; endif match = $room_db:find_exact(destname); if (valid(match)) match = {match}; endif if (!match) match = {@$room_db:find_all(dest1), @$room_db:find_all(dest2)}; endif if (match) if (length(match) == 1) "Mickey wanted @go home to work, thus the next 5 lines. al 3/7/94"; if (destname == "home") dest = this.home; else dest = match[1]; endif else player:tell("\"", dobjstr, "\" is ambiguous."); player:tell("Matches: ", $string_utils:english_list($list_utils:map_prop(match, "name"))); return match; endif else if (destname == "home") dest = this.home; else player:tell("\"", dobjstr, "\" not found in room database."); if ($room_db.updating) player:tell("Note that the room database is presently being updated, so the room may exist. Please try again later."); endif if (time() - $room_db.last_update > 60 * 60 * 24) fork (0) $room_db.last_update = time(); $room_db:update(); endfork endif return 0; endif endif endif endif if (player != this) return; endif set_task_perms(player); if (dest == this.location) player:tell("You're already here!"); else oldroom = player.location; "player:moveto(dest)"; this:teleport(player, dest); if (player.location == oldroom) player:tell(dest, " (", dest.name, ") won't allow you in."); else newroom = player.location; "Added 9/12/99 by Jan to prevent missing arrive and depart messages"; {oarrive_msg, odepart_msg} = $player:check_arrive_and_depart_msgs(); oldroom:announce($string_utils:pronoun_sub(odepart_msg, player)); newroom:announce($string_utils:pronoun_sub(oarrive_msg, player)); endif endif